package com.yunhe.portal.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunhe.common.annotation.NameTitle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.io.Serializable;
/**
 * @description data_notice_info
 * @author misty
 * @date 2021-10-19
 */
@Data
@ApiModel("公告表")
public class DataNoticeInfo implements Serializable {


    private static final long serialVersionUID = -4725807586698639291L;
    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 标题
     */
    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("副标题")
    private String subtitle;

    @ApiModelProperty("是否禁用")
    private String activity;

    /**
     * 内容
     */
    @ApiModelProperty("内容")
    private String content;

    /**
     * 发布时间
     */
    @ApiModelProperty("发布时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishTime;

    /**
     * 发布人
     */
    @ApiModelProperty("发布人")
    private Long publishPerson;

    @ApiModelProperty("发布人名称")
    @NameTitle(nameCode = "publishPerson",nameType = "USER")
    private String  publishPersonName;

    /**
     * 是否置顶 01 置顶 02 非置顶
     */
    @ApiModelProperty("是否置顶 01 置顶 02 非置顶")
    private String isTop;

    /**
     * 置顶时间
     */
    @ApiModelProperty("置顶时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date topTime;

    /**
     * 状态 01 草稿箱 02 待发布 03 已发布 04 禁用
     */
    @ApiModelProperty("状态 01 草稿箱 02 待发布 03 已发布 04 禁用")
    private String status;

    @ApiModelProperty("发布状态")
    @NameTitle(nameCode = "publishStatus",nameType = "ITEM")
    private String statusTitle;

    /**
     * 是否删除
     */
    @ApiModelProperty("是否删除")
    private String isDelete;

    /**
     * app新闻url
     */
    @ApiModelProperty("跳转url")
    private String noticeUrl;

    /**
     * 公告类型
     */
    @ApiModelProperty(value = "公告类型",required = true)
    private String noticeType;

    @ApiModelProperty(value = "公告类型")
    @NameTitle(nameCode = "noticeType",nameType = "ITEM")
    private String noticeTypeTitle;

    /**
     * 更新人
     */
    @ApiModelProperty("更新人")
    private Long updatePerson;

    /**
     * 项目id
     */
    @ApiModelProperty("项目id")
    private String stationId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("已读条数")
    private long readCount;

    @ApiModelProperty("未读条数")
    private long unReadCount;

    public DataNoticeInfo() {}
}